﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x020004BB RID: 1211
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class EvolveBuildGearDamageInfo : IMessage<EvolveBuildGearDamageInfo>, IMessage, IEquatable<EvolveBuildGearDamageInfo>, IDeepCloneable<EvolveBuildGearDamageInfo>, IBufferMessage
	{
		// Token: 0x17000FB4 RID: 4020
		// (get) Token: 0x060036C4 RID: 14020 RVA: 0x000973A9 File Offset: 0x000955A9
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<EvolveBuildGearDamageInfo> Parser
		{
			get
			{
				return EvolveBuildGearDamageInfo._parser;
			}
		}

		// Token: 0x17000FB5 RID: 4021
		// (get) Token: 0x060036C5 RID: 14021 RVA: 0x000973B0 File Offset: 0x000955B0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return EvolveBuildGearDamageInfoReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17000FB6 RID: 4022
		// (get) Token: 0x060036C6 RID: 14022 RVA: 0x000973C2 File Offset: 0x000955C2
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return EvolveBuildGearDamageInfo.Descriptor;
			}
		}

		// Token: 0x060036C7 RID: 14023 RVA: 0x000973C9 File Offset: 0x000955C9
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public EvolveBuildGearDamageInfo()
		{
		}

		// Token: 0x060036C8 RID: 14024 RVA: 0x000973D1 File Offset: 0x000955D1
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public EvolveBuildGearDamageInfo(EvolveBuildGearDamageInfo other) : this()
		{
			this.gearId_ = other.gearId_;
			this.damage_ = other.damage_;
			this.hpDamage_ = other.hpDamage_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x060036C9 RID: 14025 RVA: 0x0009740E File Offset: 0x0009560E
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public EvolveBuildGearDamageInfo Clone()
		{
			return new EvolveBuildGearDamageInfo(this);
		}

		// Token: 0x17000FB7 RID: 4023
		// (get) Token: 0x060036CA RID: 14026 RVA: 0x00097416 File Offset: 0x00095616
		// (set) Token: 0x060036CB RID: 14027 RVA: 0x0009741E File Offset: 0x0009561E
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint GearId
		{
			get
			{
				return this.gearId_;
			}
			set
			{
				this.gearId_ = value;
			}
		}

		// Token: 0x17000FB8 RID: 4024
		// (get) Token: 0x060036CC RID: 14028 RVA: 0x00097427 File Offset: 0x00095627
		// (set) Token: 0x060036CD RID: 14029 RVA: 0x0009742F File Offset: 0x0009562F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public double Damage
		{
			get
			{
				return this.damage_;
			}
			set
			{
				this.damage_ = value;
			}
		}

		// Token: 0x17000FB9 RID: 4025
		// (get) Token: 0x060036CE RID: 14030 RVA: 0x00097438 File Offset: 0x00095638
		// (set) Token: 0x060036CF RID: 14031 RVA: 0x00097440 File Offset: 0x00095640
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public double HpDamage
		{
			get
			{
				return this.hpDamage_;
			}
			set
			{
				this.hpDamage_ = value;
			}
		}

		// Token: 0x060036D0 RID: 14032 RVA: 0x00097449 File Offset: 0x00095649
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as EvolveBuildGearDamageInfo);
		}

		// Token: 0x060036D1 RID: 14033 RVA: 0x00097458 File Offset: 0x00095658
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(EvolveBuildGearDamageInfo other)
		{
			return other != null && (other == this || (this.GearId == other.GearId && ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(this.Damage, other.Damage) && ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(this.HpDamage, other.HpDamage) && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x060036D2 RID: 14034 RVA: 0x000974C8 File Offset: 0x000956C8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.GearId != 0U)
			{
				num ^= this.GearId.GetHashCode();
			}
			if (this.Damage != 0.0)
			{
				num ^= ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(this.Damage);
			}
			if (this.HpDamage != 0.0)
			{
				num ^= ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(this.HpDamage);
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x060036D3 RID: 14035 RVA: 0x0009754F File Offset: 0x0009574F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x060036D4 RID: 14036 RVA: 0x00097557 File Offset: 0x00095757
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x060036D5 RID: 14037 RVA: 0x00097560 File Offset: 0x00095760
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.GearId != 0U)
			{
				output.WriteRawTag(8);
				output.WriteUInt32(this.GearId);
			}
			if (this.Damage != 0.0)
			{
				output.WriteRawTag(17);
				output.WriteDouble(this.Damage);
			}
			if (this.HpDamage != 0.0)
			{
				output.WriteRawTag(25);
				output.WriteDouble(this.HpDamage);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x060036D6 RID: 14038 RVA: 0x000975E8 File Offset: 0x000957E8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.GearId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.GearId);
			}
			if (this.Damage != 0.0)
			{
				num += 9;
			}
			if (this.HpDamage != 0.0)
			{
				num += 9;
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x060036D7 RID: 14039 RVA: 0x00097654 File Offset: 0x00095854
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(EvolveBuildGearDamageInfo other)
		{
			if (other == null)
			{
				return;
			}
			if (other.GearId != 0U)
			{
				this.GearId = other.GearId;
			}
			if (other.Damage != 0.0)
			{
				this.Damage = other.Damage;
			}
			if (other.HpDamage != 0.0)
			{
				this.HpDamage = other.HpDamage;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x060036D8 RID: 14040 RVA: 0x000976CA File Offset: 0x000958CA
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x060036D9 RID: 14041 RVA: 0x000976D4 File Offset: 0x000958D4
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num != 8U)
				{
					if (num != 17U)
					{
						if (num != 25U)
						{
							this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
						}
						else
						{
							this.HpDamage = input.ReadDouble();
						}
					}
					else
					{
						this.Damage = input.ReadDouble();
					}
				}
				else
				{
					this.GearId = input.ReadUInt32();
				}
			}
		}

		// Token: 0x040015A1 RID: 5537
		private static readonly MessageParser<EvolveBuildGearDamageInfo> _parser = new MessageParser<EvolveBuildGearDamageInfo>(() => new EvolveBuildGearDamageInfo());

		// Token: 0x040015A2 RID: 5538
		private UnknownFieldSet _unknownFields;

		// Token: 0x040015A3 RID: 5539
		public const int GearIdFieldNumber = 1;

		// Token: 0x040015A4 RID: 5540
		private uint gearId_;

		// Token: 0x040015A5 RID: 5541
		public const int DamageFieldNumber = 2;

		// Token: 0x040015A6 RID: 5542
		private double damage_;

		// Token: 0x040015A7 RID: 5543
		public const int HpDamageFieldNumber = 3;

		// Token: 0x040015A8 RID: 5544
		private double hpDamage_;
	}
}
